#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#define ADD(x,y) ((x)+(y))
using namespace std;
namespace Queue
{
	int a = 10;
	struct Node
	{
		struct Node* next;
		int val;
	};
}
namespace List
{
	int a = 20;
	struct Node
	{
		struct Node* next;
		double val;
	};
}
void fun(int a = 10, int b = 20, int c = 30);

void ff(int a,int b)
{
	cout << a + b;
}
void ff(double a, double b)
{
	cout << a + b;
}

void my_swap(int& a, int& b)
{
	int tmp = a;
	a = b;
	b = tmp;
}
int& Count();
int add(int a, int b);
inline int Add(int x, int y)
{
	int c = x + y;
	return c;
}
int main()
{
	//cout << List::a++ << endl << List::a << endl;
	//cout << ++Queue::a << endl;
	/*fun(1, 2, 3);
	fun(1, 2);
	fun(1);
	fun();*/
	/*ff(1, 2);
	ff(1.1, 2.2);*/
	/*int i = 0;
	int& a = i;
	cout << a << endl;
	cout << ++a << endl << i;*/
	/*int a = 0, b = 1;
	my_swap(a, b);
	cout << a << endl << b;*/
	/*int& ret = Count();
	cout << ret << endl;
	cout << ret;*/
	/*const int& ret = add(10, 20);
	cout << ret << endl;
	cout << ret;*/
	/*double i = 10390.204;
	const int& a = i;
	printf("%f\n%d", i, a);*/
	//cout << ADD(10, 20) * 3;
	cout << Add(10, 20);
	return 0;
}
int add(int a, int b)
{
	int c = a + b;
	return c;
}

int& Count()
{
	int n = 0;
	n++;
	return n;
}
void fun(int a,int b,int c)
{
	cout << a << b << c << endl;
}